Language Symbiosis through Symbiotic Reflection

نویسندگان

  • Roel Wuyts
  • Stéphane Ducasse
چکیده

Meta-programming is the act of using one system or language to reason about another one. Reflection describes systems that have access to and change a causally connected representation of themselves, hence leading to self-extensible systems. In reflective languages, only one language is used, while in meta-programming two languages play a role (the base language and the meta language). In this paper we introduce symbiotic reflection, a form of reflection between two languages where both languages play the base and the meta-language role. New in this approach is that symbiotic reflection integrates languages from different paradigms in such a way that they both represent, reason about and act upon each other. We illustrate symbiotic reflection with SOUL, a logic programming language in symbiotic reflection with the object-oriented programming language Smalltalk. We show how SOUL does logic reasoning directly on Smalltalk objects, and how to use this to implement type snooping and second order logic programming.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Linguistic Symbiosis of an Object-Oriented and a Logic Programming Language

Reflective systems have a causally connected (metalevel) representation of themselves. Most reflective systems use the same language to reason about their metalevel representation as the language that is used to reason about their domain. In symbiotic reflection a different language is used at the metalevel. The practical usability of this symbiotic reflection is enhanced if a linguistic symbio...

متن کامل

Inter-language reflection: A conceptual model and its implementation

Meta programming is the act of reasoning about a computational system. For example, a program in Prolog can reason about a program written in Smalltalk. Reflection is a more powerful form of meta programming where the same language is used to reason about, and act upon, itself in a causally connected way. Thus on the one hand we have meta programming that allows different languages or paradigms...

متن کامل

Symbiotic Reflection between an Object-Oriented and a Logic Programming Language

Meta-programming is the act of using one system or language to reason about another one. Reflection describes systems that have access to and change a causally connected representation of themselves, hence leading to self-extensible systems. Up to now, most of the reflective languages have been implemented in the same paradigm. In this paper, we propose symbiotic reflection as a way to integrat...

متن کامل

The Legume-rhizobia Symbiosis under Salt Stress - a Review

Salinity is one of the severe problems in worldwide agricultural production. Soil salinity limits the productions of both forage and grain legumes. Adverse effects of salinity are mediated through detrimental effects on the rhizobium legume interactions that lead to the establishment of the nitrogen fixing symbiosis. Salt stress inhibits the initial steps of the rhizobia legume symbiosis. For i...

متن کامل

Origin and Evolution of Nitrogen Fixation Genes on Symbiosis Islands and Plasmid in Bradyrhizobium

The nitrogen fixation (nif) genes of nodule-forming Bradyrhizobium strains are generally located on symbiosis islands or symbiosis plasmids, suggesting that these genes have been transferred laterally. The nif genes of rhizobial and non-rhizobial Bradyrhizobium strains were compared in order to infer the evolutionary histories of nif genes. Based on all codon positions, the phylogenetic tree of...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001